package cn.tedu._03vehicle.base.interceptors;

import lombok.extern.slf4j.Slf4j;
import org.springframework.web.servlet.HandlerInterceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.time.LocalTime;

@Slf4j
/**
 * 定义一个时间访问拦截器类
 */
public class TimeAccessInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        log.debug("1.进入访问时间限定的拦截器");
        //获取现在的时间
        LocalTime now = LocalTime.now();
        int hour = now.getHour();
        if (hour<6 || hour>24){
            log.debug("2.当前时间不在限定的时间范围内，不允许访问");
            //抛出异常后，就需要到全局异常处理器里面去把异常处理一下
            throw  new RuntimeException("当前时间不在限定的时间范围内，访问时间6点到22点之间");
        }
        return true;
    }
}
